[INFO] fetching crate modus_ponens 0.11.5...
[INFO] testing modus_ponens-0.11.5 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate modus_ponens 0.11.5 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate modus_ponens 0.11.5
[INFO] finished tweaking crates.io crate modus_ponens 0.11.5
[INFO] tweaked toml for crates.io crate modus_ponens 0.11.5 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate modus_ponens 0.11.5 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 38 packages to latest compatible versions
[INFO] [stderr]       Adding env_logger v0.7.1 (available: v0.11.10)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding syn v1.0.109 (available: v2.0.117)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fc86bbeddf9edf183a91cf1de794a831c5d194461f3b66ad105dfe20a2eaf0a9
[INFO] running `Command { std: "docker" "start" "-a" "fc86bbeddf9edf183a91cf1de794a831c5d194461f3b66ad105dfe20a2eaf0a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc86bbeddf9edf183a91cf1de794a831c5d194461f3b66ad105dfe20a2eaf0a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc86bbeddf9edf183a91cf1de794a831c5d194461f3b66ad105dfe20a2eaf0a9", kill_on_drop: false }`
[INFO] [stdout] fc86bbeddf9edf183a91cf1de794a831c5d194461f3b66ad105dfe20a2eaf0a9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dcd2f81fa72ff8c5158fed8e43b4d1858290cdf4bd1f4b137f8478a0ee9e7d8d
[INFO] running `Command { std: "docker" "start" "-a" "dcd2f81fa72ff8c5158fed8e43b4d1858290cdf4bd1f4b137f8478a0ee9e7d8d", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling modus_ponens v0.11.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/transform_num.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |         "%" => (lhs % rhs),
[INFO] [stdout]    |                ^         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         "%" => (lhs % rhs),
[INFO] [stdout] 77 +         "%" => lhs % rhs ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/path.rs:36:49
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(segments: Vec<&'a MPSegment>) -> MPPath {
[INFO] [stdout]    |                               --                ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(segments: Vec<&'a MPSegment>) -> MPPath<'a> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:103:62
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn substitute(&'a self, matching: &'a MPMatching) -> MPPath {
[INFO] [stdout]     |                        --                  --                ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |                   |
[INFO] [stdout]     |                        |                   the lifetime is named here
[INFO] [stdout]     |                        the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn substitute(&'a self, matching: &'a MPMatching) -> MPPath<'a> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:115:73
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn substitute_to_string(&'a self, matching: &'a MPMatching) -> (&str, bool, Option<MPPath>) {
[INFO] [stdout]     |                                  --                  --                 ^^^^               ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |                   |                  |
[INFO] [stdout]     |                                  |                   |                  the same lifetime is elided here
[INFO] [stdout]     |                                  |                   the lifetime is named here
[INFO] [stdout]     |                                  the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn substitute_to_string(&'a self, matching: &'a MPMatching) -> (&'a str, bool, Option<MPPath<'a>>) {
[INFO] [stdout]     |                                                                          ++                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:138:70
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn substitute_owning(&'a self, matching: MPMatching<'a>) -> (MPPath, Option<MPPath>) {
[INFO] [stdout]     |                               --                            --       ^^^^^^         ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |                             |        |
[INFO] [stdout]     |                               |                             |        the same lifetime is hidden here
[INFO] [stdout]     |                               the lifetime is named here    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn substitute_owning(&'a self, matching: MPMatching<'a>) -> (MPPath<'a>, Option<MPPath<'a>>) {
[INFO] [stdout]     |                                                                            ++++               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/ruletree.rs:178:145
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...s(&'a self, mut parent: &'a RSNode<'a>, mut paths: Vec<MPPath<'a>>, mut visited: Vec<&'a MPSegment>, mut depth: usize) -> &'a RSNode {
[INFO] [stdout]     |       --                    --        --                         --                      --                                   -- ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |       |                     |         |                          |                       |                                    |
[INFO] [stdout]     |       |                     |         |                          |                       the lifetime is named here           the same lifetime is named here
[INFO] [stdout]     |       |                     |         |                          the lifetime is named here
[INFO] [stdout]     |       |                     |         the lifetime is named here
[INFO] [stdout]     |       |                     the lifetime is named here
[INFO] [stdout]     |       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn create_paths(&'a self, mut parent: &'a RSNode<'a>, mut paths: Vec<MPPath<'a>>, mut visited: Vec<&'a MPSegment>, mut depth: usize) -> &'a RSNode<'a> {
[INFO] [stdout]     |                                                                                                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/ruletree.rs:203:62
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn query_paths(&'a self, paths: Vec<MPPath<'a>>) -> (Response, Vec<MPPath<'a>>) {
[INFO] [stdout]     |                         --                         --        ^^^^^^^^             -- the same lifetime is named here
[INFO] [stdout]     |                         |                          |         |
[INFO] [stdout]     |                         |                          |         the same lifetime is hidden here
[INFO] [stdout]     |                         |                          the lifetime is named here
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn query_paths(&'a self, paths: Vec<MPPath<'a>>) -> (Response<'a>, Vec<MPPath<'a>>) {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexicon.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn empty_path(&self) -> MPPath {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn empty_path(&self) -> MPPath<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `hash_set_entry` is declared but not used
[INFO] [stdout]   --> src/lib.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | #![feature(hash_set_entry)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.80s
[INFO] running `Command { std: "docker" "inspect" "dcd2f81fa72ff8c5158fed8e43b4d1858290cdf4bd1f4b137f8478a0ee9e7d8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dcd2f81fa72ff8c5158fed8e43b4d1858290cdf4bd1f4b137f8478a0ee9e7d8d", kill_on_drop: false }`
[INFO] [stdout] dcd2f81fa72ff8c5158fed8e43b4d1858290cdf4bd1f4b137f8478a0ee9e7d8d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 94d461a91dc62f79d440f78a456e917179ba0a9d3d04e53a04c8aceb412d92f3
[INFO] running `Command { std: "docker" "start" "-a" "94d461a91dc62f79d440f78a456e917179ba0a9d3d04e53a04c8aceb412d92f3", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/transform_num.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |         "%" => (lhs % rhs),
[INFO] [stdout]    |                ^         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         "%" => (lhs % rhs),
[INFO] [stdout] 77 +         "%" => lhs % rhs ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/path.rs:36:49
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(segments: Vec<&'a MPSegment>) -> MPPath {
[INFO] [stdout]    |                               --                ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(segments: Vec<&'a MPSegment>) -> MPPath<'a> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:103:62
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn substitute(&'a self, matching: &'a MPMatching) -> MPPath {
[INFO] [stdout]     |                        --                  --                ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |                   |
[INFO] [stdout]     |                        |                   the lifetime is named here
[INFO] [stdout]     |                        the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn substitute(&'a self, matching: &'a MPMatching) -> MPPath<'a> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:115:73
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn substitute_to_string(&'a self, matching: &'a MPMatching) -> (&str, bool, Option<MPPath>) {
[INFO] [stdout]     |                                  --                  --                 ^^^^               ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |                   |                  |
[INFO] [stdout]     |                                  |                   |                  the same lifetime is elided here
[INFO] [stdout]     |                                  |                   the lifetime is named here
[INFO] [stdout]     |                                  the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn substitute_to_string(&'a self, matching: &'a MPMatching) -> (&'a str, bool, Option<MPPath<'a>>) {
[INFO] [stdout]     |                                                                          ++                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:138:70
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn substitute_owning(&'a self, matching: MPMatching<'a>) -> (MPPath, Option<MPPath>) {
[INFO] [stdout]     |                               --                            --       ^^^^^^         ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |                             |        |
[INFO] [stdout]     |                               |                             |        the same lifetime is hidden here
[INFO] [stdout]     |                               the lifetime is named here    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn substitute_owning(&'a self, matching: MPMatching<'a>) -> (MPPath<'a>, Option<MPPath<'a>>) {
[INFO] [stdout]     |                                                                            ++++               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/ruletree.rs:178:145
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...s(&'a self, mut parent: &'a RSNode<'a>, mut paths: Vec<MPPath<'a>>, mut visited: Vec<&'a MPSegment>, mut depth: usize) -> &'a RSNode {
[INFO] [stdout]     |       --                    --        --                         --                      --                                   -- ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |       |                     |         |                          |                       |                                    |
[INFO] [stdout]     |       |                     |         |                          |                       the lifetime is named here           the same lifetime is named here
[INFO] [stdout]     |       |                     |         |                          the lifetime is named here
[INFO] [stdout]     |       |                     |         the lifetime is named here
[INFO] [stdout]     |       |                     the lifetime is named here
[INFO] [stdout]     |       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn create_paths(&'a self, mut parent: &'a RSNode<'a>, mut paths: Vec<MPPath<'a>>, mut visited: Vec<&'a MPSegment>, mut depth: usize) -> &'a RSNode<'a> {
[INFO] [stdout]     |                                                                                                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/ruletree.rs:203:62
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn query_paths(&'a self, paths: Vec<MPPath<'a>>) -> (Response, Vec<MPPath<'a>>) {
[INFO] [stdout]     |                         --                         --        ^^^^^^^^             -- the same lifetime is named here
[INFO] [stdout]     |                         |                          |         |
[INFO] [stdout]     |                         |                          |         the same lifetime is hidden here
[INFO] [stdout]     |                         |                          the lifetime is named here
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn query_paths(&'a self, paths: Vec<MPPath<'a>>) -> (Response<'a>, Vec<MPPath<'a>>) {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling modus_ponens v0.11.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexicon.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn empty_path(&self) -> MPPath {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn empty_path(&self) -> MPPath<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `hash_set_entry` is declared but not used
[INFO] [stdout]   --> src/lib.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | #![feature(hash_set_entry)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/transform_num.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |         "%" => (lhs % rhs),
[INFO] [stdout]    |                ^         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         "%" => (lhs % rhs),
[INFO] [stdout] 77 +         "%" => lhs % rhs ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/path.rs:36:49
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(segments: Vec<&'a MPSegment>) -> MPPath {
[INFO] [stdout]    |                               --                ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(segments: Vec<&'a MPSegment>) -> MPPath<'a> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:103:62
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn substitute(&'a self, matching: &'a MPMatching) -> MPPath {
[INFO] [stdout]     |                        --                  --                ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |                   |
[INFO] [stdout]     |                        |                   the lifetime is named here
[INFO] [stdout]     |                        the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn substitute(&'a self, matching: &'a MPMatching) -> MPPath<'a> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:115:73
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn substitute_to_string(&'a self, matching: &'a MPMatching) -> (&str, bool, Option<MPPath>) {
[INFO] [stdout]     |                                  --                  --                 ^^^^               ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |                   |                  |
[INFO] [stdout]     |                                  |                   |                  the same lifetime is elided here
[INFO] [stdout]     |                                  |                   the lifetime is named here
[INFO] [stdout]     |                                  the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn substitute_to_string(&'a self, matching: &'a MPMatching) -> (&'a str, bool, Option<MPPath<'a>>) {
[INFO] [stdout]     |                                                                          ++                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:138:70
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn substitute_owning(&'a self, matching: MPMatching<'a>) -> (MPPath, Option<MPPath>) {
[INFO] [stdout]     |                               --                            --       ^^^^^^         ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |                             |        |
[INFO] [stdout]     |                               |                             |        the same lifetime is hidden here
[INFO] [stdout]     |                               the lifetime is named here    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn substitute_owning(&'a self, matching: MPMatching<'a>) -> (MPPath<'a>, Option<MPPath<'a>>) {
[INFO] [stdout]     |                                                                            ++++               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/ruletree.rs:178:145
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...s(&'a self, mut parent: &'a RSNode<'a>, mut paths: Vec<MPPath<'a>>, mut visited: Vec<&'a MPSegment>, mut depth: usize) -> &'a RSNode {
[INFO] [stdout]     |       --                    --        --                         --                      --                                   -- ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |       |                     |         |                          |                       |                                    |
[INFO] [stdout]     |       |                     |         |                          |                       the lifetime is named here           the same lifetime is named here
[INFO] [stdout]     |       |                     |         |                          the lifetime is named here
[INFO] [stdout]     |       |                     |         the lifetime is named here
[INFO] [stdout]     |       |                     the lifetime is named here
[INFO] [stdout]     |       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn create_paths(&'a self, mut parent: &'a RSNode<'a>, mut paths: Vec<MPPath<'a>>, mut visited: Vec<&'a MPSegment>, mut depth: usize) -> &'a RSNode<'a> {
[INFO] [stdout]     |                                                                                                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/ruletree.rs:203:62
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn query_paths(&'a self, paths: Vec<MPPath<'a>>) -> (Response, Vec<MPPath<'a>>) {
[INFO] [stdout]     |                         --                         --        ^^^^^^^^             -- the same lifetime is named here
[INFO] [stdout]     |                         |                          |         |
[INFO] [stdout]     |                         |                          |         the same lifetime is hidden here
[INFO] [stdout]     |                         |                          the lifetime is named here
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn query_paths(&'a self, paths: Vec<MPPath<'a>>) -> (Response<'a>, Vec<MPPath<'a>>) {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexicon.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn empty_path(&self) -> MPPath {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn empty_path(&self) -> MPPath<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `hash_set_entry` is declared but not used
[INFO] [stdout]   --> src/lib.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | #![feature(hash_set_entry)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.18s
[INFO] running `Command { std: "docker" "inspect" "94d461a91dc62f79d440f78a456e917179ba0a9d3d04e53a04c8aceb412d92f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94d461a91dc62f79d440f78a456e917179ba0a9d3d04e53a04c8aceb412d92f3", kill_on_drop: false }`
[INFO] [stdout] 94d461a91dc62f79d440f78a456e917179ba0a9d3d04e53a04c8aceb412d92f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 20e3fa4505462930880e67e1722f2b3e5a9420fdc0906d2568e713798c109086
[INFO] running `Command { std: "docker" "start" "-a" "20e3fa4505462930880e67e1722f2b3e5a9420fdc0906d2568e713798c109086", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/transform_num.rs:77:16
[INFO] [stderr]    |
[INFO] [stderr] 77 |         "%" => (lhs % rhs),
[INFO] [stderr]    |                ^         ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 77 -         "%" => (lhs % rhs),
[INFO] [stderr] 77 +         "%" => lhs % rhs ,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/path.rs:36:49
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn new(segments: Vec<&'a MPSegment>) -> MPPath {
[INFO] [stderr]    |                               --                ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                               |
[INFO] [stderr]    |                               the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn new(segments: Vec<&'a MPSegment>) -> MPPath<'a> {
[INFO] [stderr]    |                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/path.rs:103:62
[INFO] [stderr]     |
[INFO] [stderr] 103 |     pub fn substitute(&'a self, matching: &'a MPMatching) -> MPPath {
[INFO] [stderr]     |                        --                  --                ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |                   |
[INFO] [stderr]     |                        |                   the lifetime is named here
[INFO] [stderr]     |                        the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 103 |     pub fn substitute(&'a self, matching: &'a MPMatching) -> MPPath<'a> {
[INFO] [stderr]     |                                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/path.rs:115:73
[INFO] [stderr]     |
[INFO] [stderr] 115 |     pub fn substitute_to_string(&'a self, matching: &'a MPMatching) -> (&str, bool, Option<MPPath>) {
[INFO] [stderr]     |                                  --                  --                 ^^^^               ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                  |                   |                  |
[INFO] [stderr]     |                                  |                   |                  the same lifetime is elided here
[INFO] [stderr]     |                                  |                   the lifetime is named here
[INFO] [stderr]     |                                  the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 115 |     pub fn substitute_to_string(&'a self, matching: &'a MPMatching) -> (&'a str, bool, Option<MPPath<'a>>) {
[INFO] [stderr]     |                                                                          ++                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/path.rs:138:70
[INFO] [stderr]     |
[INFO] [stderr] 138 |     pub fn substitute_owning(&'a self, matching: MPMatching<'a>) -> (MPPath, Option<MPPath>) {
[INFO] [stderr]     |                               --                            --       ^^^^^^         ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                               |                             |        |
[INFO] [stderr]     |                               |                             |        the same lifetime is hidden here
[INFO] [stderr]     |                               the lifetime is named here    the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 138 |     pub fn substitute_owning(&'a self, matching: MPMatching<'a>) -> (MPPath<'a>, Option<MPPath<'a>>) {
[INFO] [stderr]     |                                                                            ++++               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/ruletree.rs:178:145
[INFO] [stderr]     |
[INFO] [stderr] 178 | ...s(&'a self, mut parent: &'a RSNode<'a>, mut paths: Vec<MPPath<'a>>, mut visited: Vec<&'a MPSegment>, mut depth: usize) -> &'a RSNode {
[INFO] [stderr]     |       --                    --        --                         --                      --                                   -- ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |       |                     |         |                          |                       |                                    |
[INFO] [stderr]     |       |                     |         |                          |                       the lifetime is named here           the same lifetime is named here
[INFO] [stderr]     |       |                     |         |                          the lifetime is named here
[INFO] [stderr]     |       |                     |         the lifetime is named here
[INFO] [stderr]     |       |                     the lifetime is named here
[INFO] [stderr]     |       the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 178 |     fn create_paths(&'a self, mut parent: &'a RSNode<'a>, mut paths: Vec<MPPath<'a>>, mut visited: Vec<&'a MPSegment>, mut depth: usize) -> &'a RSNode<'a> {
[INFO] [stderr]     |                                                                                                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/ruletree.rs:203:62
[INFO] [stderr]     |
[INFO] [stderr] 203 |     pub fn query_paths(&'a self, paths: Vec<MPPath<'a>>) -> (Response, Vec<MPPath<'a>>) {
[INFO] [stderr]     |                         --                         --        ^^^^^^^^             -- the same lifetime is named here
[INFO] [stderr]     |                         |                          |         |
[INFO] [stderr]     |                         |                          |         the same lifetime is hidden here
[INFO] [stderr]     |                         |                          the lifetime is named here
[INFO] [stderr]     |                         the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 203 |     pub fn query_paths(&'a self, paths: Vec<MPPath<'a>>) -> (Response<'a>, Vec<MPPath<'a>>) {
[INFO] [stderr]     |                                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lexicon.rs:101:23
[INFO] [stderr]     |
[INFO] [stderr] 101 |     pub fn empty_path(&self) -> MPPath {
[INFO] [stderr]     |                       ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 101 |     pub fn empty_path(&self) -> MPPath<'_> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: feature `hash_set_entry` is declared but not used
[INFO] [stderr]   --> src/lib.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | #![feature(hash_set_entry)]
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `modus_ponens` (lib) generated 9 warnings (run `cargo fix --lib -p modus_ponens` to apply 8 suggestions)
[INFO] [stderr] warning: `modus_ponens` (lib test) generated 9 warnings (9 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/modus_ponens-af83df5e10ae1411)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test lexicon::tests::test_1 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests modus_ponens
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/transform_num.rs:77:16
[INFO] [stderr]    |
[INFO] [stderr] 77 |         "%" => (lhs % rhs),
[INFO] [stderr]    |                ^         ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 77 -         "%" => (lhs % rhs),
[INFO] [stderr] 77 +         "%" => lhs % rhs ,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "20e3fa4505462930880e67e1722f2b3e5a9420fdc0906d2568e713798c109086", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20e3fa4505462930880e67e1722f2b3e5a9420fdc0906d2568e713798c109086", kill_on_drop: false }`
[INFO] [stdout] 20e3fa4505462930880e67e1722f2b3e5a9420fdc0906d2568e713798c109086
